package com.nari.ncps.screen.service.coal;

import com.baomidou.mybatisplus.extension.service.IService;
import com.nari.ncps.screen.entity.coal.CoalProdoperSales;
import com.nari.ncps.screen.vo.coal.CoalSalesVO;
import com.nari.ncps.screen.vo.wholeproduct.AnnualActualSalesVO;
import com.nari.ncps.screen.vo.wholeproduct.AnnualSalesCompletionRateVO;
import com.nari.ncps.screen.vo.wholeproduct.AnnualSalesCompletionVO;

import java.util.List;

/**
 * <p>
 * 生产经营煤炭销量表 服务类
 * </p>
 *
 * @author xuesong
 * @since 2025-08-23
 */
public interface CoalProdoperSalesService extends IService<CoalProdoperSales> {

    /**
     * 获取煤炭销量完成情况
     * @param year 年份，如果为null则使用当前年份
     * @return 煤炭销量完成情况
     */
    CoalSalesVO getCoalSales(Integer year);

    /**
     * 获取年度商品煤销量完成情况
     * @param year 年份，如果为null则使用当前年份
     * @return 年度销量完成情况
     */
    AnnualSalesCompletionVO getAnnualSalesCompletion(Integer year);

    /**
     * 获取年度实际销量列表
     * @param year 年份，如果为null则使用当前年份，返回最近5年数据
     * @return 年度实际销量列表
     */
    List<AnnualActualSalesVO> getAnnualActualSales(Integer year);

    /**
     * 获取年度销量完成率列表
     * @param year 年份，如果为null则使用当前年份，返回最近5年数据
     * @return 年度销量完成率列表
     */
    List<AnnualSalesCompletionRateVO> getAnnualSalesCompletionRate(Integer year);

}
